<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>QCNSim: QcnSim/Facility.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">QCNSim
   </div>
   <div id="projectbrief">Simulator for Quake-Catcher Network</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d21be12960473ba5c51e5f9beea3525e.html">QcnSim</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Facility.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_facility_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_facility_server_8h.html">FacilityServer.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_facility_queue_element_8h.html">FacilityQueueElement.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_token_8h.html">Token.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_event_type_8h.html">EventType.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_facility_return_type_8h.html">FacilityReturnType.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_simulator_globals_8h.html">SimulatorGlobals.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_scheduler_8h.html">Scheduler.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">using</span> std::string;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_facility.html">   44</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_facility.html">Facility</a>: <span class="keyword">public</span> <a class="code" href="class_entity.html">Entity</a> {</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">   46</a></span>&#160;    std::string <a class="code" href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">name</a>;                   </div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="comment">//unsigned int id;                  //!&lt; Facility ID.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">//int numberOfServers;              //!&lt; Number of servers in this facility.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="comment">//int numberOfBusyServers;          //!&lt; Number of busy servers.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="comment">//int queueSize;                    //!&lt; Current queue size (in number of processes). The queue is infinite.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="class_facility.html#aab753210fbc2026ce45e73ec3c86ed75">   51</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#aab753210fbc2026ce45e73ec3c86ed75">maxRecordedQueueSize</a>;  </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_facility.html#a1c5d07b106f295750da83ef6d31f7c34">   52</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a1c5d07b106f295750da83ef6d31f7c34">queueSizeLimit</a>;        </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_facility.html#ad175b4a1db5abafd76e28c67d81b99a4">   53</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ad175b4a1db5abafd76e28c67d81b99a4">dequeuedTokensCount</a>;   </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_facility.html#a2ecb5a0b0cc18479325d6c3a963972a2">   54</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a2ecb5a0b0cc18479325d6c3a963972a2">lastQueueChangeTime</a>;         </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_facility.html#ad85ff7fec4ac7166046cd65a80575def">   55</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#ad85ff7fec4ac7166046cd65a80575def">sumBusyTime</a>;                 </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_facility.html#ab1535255c93b31fe4cf63ecfcd48fc52">   56</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ab1535255c93b31fe4cf63ecfcd48fc52">preemptedTokensCount</a>;  </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_facility.html#a6ef416b0d1a9ce5b719dc6499b16fa4b">   57</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a6ef416b0d1a9ce5b719dc6499b16fa4b">sumLengthTimeProduct</a>;        </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_facility.html#a380f50651e6227b6f54ad20a020dba82">   58</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a380f50651e6227b6f54ad20a020dba82">releasedTokensCount</a>;   </div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_facility.html#a0519eef6d28a92c9b7a7d6a3bc9db31a">   59</a></span>&#160;    std::vector&lt;FacilityServer&gt; <a class="code" href="class_facility.html#a0519eef6d28a92c9b7a7d6a3bc9db31a">servers</a>; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_facility.html#a4d45a968945045e44ea59be18dff74d1">   60</a></span>&#160;    std::list&lt;FacilityQueueElement&gt; <a class="code" href="class_facility.html#a4d45a968945045e44ea59be18dff74d1">queue</a>; </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="class_facility.html#a79363e2f35ebed14de6cf7b34bb96ecf">   61</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_facility.html#a79363e2f35ebed14de6cf7b34bb96ecf">isUp_</a>;                         </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_facility.html#ab527ba2778f17a4068266fd8b522ec35">   62</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ab527ba2778f17a4068266fd8b522ec35">droppedTokensCount</a>;    </div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="class_simulator_globals.html">SimulatorGlobals</a> &amp;<a class="code" href="class_facility.html#a04cb8b8f3d633cfcf6ba1603f5dfe7ad">simulatorGlobals</a>; </div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_facility.html#a36b590795f3752bd89a4a3ec5fa1307d">   66</a></span>&#160;    <a class="code" href="class_scheduler.html">Scheduler</a> &amp;<a class="code" href="class_facility.html#a36b590795f3752bd89a4a3ec5fa1307d">scheduler</a>;               </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_facility.html#ae813c0db5554a9827600e10cfc863748">   67</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ae813c0db5554a9827600e10cfc863748">requestsPreemptsCount</a>; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_facility.html#ae701c2c3665891baa6929ef67ebd755b">enqueue</a>(std::shared_ptr&lt;const Token&gt; token, <a class="code" href="_event_type_8h.html#a2628ea8d12e8b2563c32f05dc7fff6fa">EventType</a> eventType, <span class="keywordtype">double</span> serviceTime, <span class="keywordtype">bool</span> isPreempted);</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_facility.html#ac1fb937bffd1530a130b68f7828a5d57">dequeue</a>();</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ac92cceb40d15ff27039f16ee83b8431a">purgeQueue</a>(); </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    std::vector&lt;FacilityServer&gt;::iterator <a class="code" href="class_facility.html#af7ceb3abf7be8d3712d9bb8f9841067c">nextFreeServer</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    std::vector&lt;FacilityServer&gt;::const_iterator <a class="code" href="class_facility.html#af7ceb3abf7be8d3712d9bb8f9841067c">nextFreeServer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_facility.html#a31e9fbb87215bd9b292aa263150010d6">initializeMembers</a>();</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ab95ab1d162a591087d3696b9712f7452">dropTokensInService</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="class_facility.html#a27cc99dd645a173e1398843273f98bec">Facility</a>(<span class="keyword">const</span> std::string &amp;<a class="code" href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">name</a>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numberOfServers, <a class="code" href="class_simulator_globals.html">SimulatorGlobals</a> &amp;<a class="code" href="class_facility.html#a04cb8b8f3d633cfcf6ba1603f5dfe7ad">simulatorGlobals</a>, <a class="code" href="class_scheduler.html">Scheduler</a> &amp;<a class="code" href="class_facility.html#a36b590795f3752bd89a4a3ec5fa1307d">scheduler</a>);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="class_facility.html#a27cc99dd645a173e1398843273f98bec">Facility</a>(<span class="keyword">const</span> std::string &amp;<a class="code" href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">name</a>, <a class="code" href="class_simulator_globals.html">SimulatorGlobals</a> &amp;<a class="code" href="class_facility.html#a04cb8b8f3d633cfcf6ba1603f5dfe7ad">simulatorGlobals</a>, <a class="code" href="class_scheduler.html">Scheduler</a> &amp;<a class="code" href="class_facility.html#a36b590795f3752bd89a4a3ec5fa1307d">scheduler</a>);</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="_facility_return_type_8h.html#a4ebe26bb7c3ad3b1926de74522fcc72c">FacilityReturnType</a> <a class="code" href="class_facility.html#ad8579e469df0909ad36ee6b0719a2173">request</a>(std::shared_ptr&lt;const Token&gt; token, <a class="code" href="_event_type_8h.html#a2628ea8d12e8b2563c32f05dc7fff6fa">EventType</a> eventType);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="_facility_return_type_8h.html#a4ebe26bb7c3ad3b1926de74522fcc72c">FacilityReturnType</a> <a class="code" href="class_facility.html#a3fbc8bb6b4a1f64d7ac2796df89eb05e">preempt</a>(std::shared_ptr&lt;const Token&gt; token, <a class="code" href="_event_type_8h.html#a2628ea8d12e8b2563c32f05dc7fff6fa">EventType</a> eventType);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="_facility_return_type_8h.html#a4ebe26bb7c3ad3b1926de74522fcc72c">FacilityReturnType</a> <a class="code" href="class_facility.html#af3c20895dff840f8db94350070360e70">release</a>(std::shared_ptr&lt;const Token&gt; token);</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_facility.html#a51a7f1911c56425bd1f341b3c2b005e0">isBusy</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_facility.html#a648c145304ac37af293458ea11f674c3">isUp</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_facility.html#a9cf2c05d0966a731a8a9d9157a13df5e">setUp</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a0f7671f75b0309c520692c2a210e734e">setDown</a>();</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    std::list&lt;FacilityQueueElement&gt;::size_type <a class="code" href="class_facility.html#a61f5bb8a3af86066d29dd2eeca3cdd84">getQueueSize</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a4774c30a592bb2633877067028dc1717">getUtilization</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#acdb1662a8f2f36e360649a8f760ee096">getMeanBusyPeriod</a>() <span class="keyword">const</span>; </div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#acdb1662a8f2f36e360649a8f760ee096">getMeanBusyPeriod</a>(<span class="keywordtype">bool</span> onlyFullyServiced) <span class="keyword">const</span>; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a9fd474a9e15db535a7a05f5f1a44aba1">getMeanQueueLength</a>() <span class="keyword">const</span>; </div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    std::string <a class="code" href="class_facility.html#ad78afc03b5985c349e8a25bb3608c232">getName</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a6ed30291bca3882e011216265f7d7462">getMaxRecordedQueueSize</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#af10ab3d08fb7342ee20f3002a8531717">getDequeuedTokensCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a67cc29408dd53a988dcd7e2db7b7a4e8">getLastQueueChangeTime</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a9d7afc7dca414dc23dd1ef324396c510">getSumBusyTime</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a69b6c90815494efdffd9a643b092800e">getPreemptedTokensCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#af893b9858d117fa8da34450b5c690d67">getSumLengthTimeProduct</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a566a2efd483b20277d964b649d82acf8">getReleasedTokensCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a8d3183f02ce17ba8bd1544056a4ba3a9">getFullyServicedTokensCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ac1724d4f29211f7008a14c767f9dc359">getDroppedTokensCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_facility.html#a5b1017640e4313c95af773cf9d6606dd">getMeanServiceRate</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_facility.html#ad400821aba2cf4489c9b45534c2a42cd">setName</a>(<span class="keyword">const</span> std::string &amp;<a class="code" href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">name</a>);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#af8a7f4d06884853b43de507d5dbad7a2">getNumberOfServers</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#a36e512ba8667b6a2f62b131c3afca926">getRequestsPreemptsCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_facility.html#a4d8bbec743dae89da983619eedb2e129">setQueueSizeLimit</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> limit);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_facility.html#ababbaa909332f3c55699721dc087f0c3">getQueueSizeLimit</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;};</div>
<div class="ttc" id="class_facility_html_a9d7afc7dca414dc23dd1ef324396c510"><div class="ttname"><a href="class_facility.html#a9d7afc7dca414dc23dd1ef324396c510">Facility::getSumBusyTime</a></div><div class="ttdeci">double getSumBusyTime() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00847">Facility.cpp:847</a></div></div>
<div class="ttc" id="class_facility_html_a69b6c90815494efdffd9a643b092800e"><div class="ttname"><a href="class_facility.html#a69b6c90815494efdffd9a643b092800e">Facility::getPreemptedTokensCount</a></div><div class="ttdeci">unsigned int getPreemptedTokensCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00859">Facility.cpp:859</a></div></div>
<div class="ttc" id="_event_type_8h_html"><div class="ttname"><a href="_event_type_8h.html">EventType.h</a></div></div>
<div class="ttc" id="class_facility_html_ac1fb937bffd1530a130b68f7828a5d57"><div class="ttname"><a href="class_facility.html#ac1fb937bffd1530a130b68f7828a5d57">Facility::dequeue</a></div><div class="ttdeci">bool dequeue()</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00174">Facility.cpp:174</a></div></div>
<div class="ttc" id="class_facility_html_af893b9858d117fa8da34450b5c690d67"><div class="ttname"><a href="class_facility.html#af893b9858d117fa8da34450b5c690d67">Facility::getSumLengthTimeProduct</a></div><div class="ttdeci">double getSumLengthTimeProduct() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00871">Facility.cpp:871</a></div></div>
<div class="ttc" id="_event_type_8h_html_a2628ea8d12e8b2563c32f05dc7fff6fa"><div class="ttname"><a href="_event_type_8h.html#a2628ea8d12e8b2563c32f05dc7fff6fa">EventType</a></div><div class="ttdeci">EventType</div><div class="ttdoc">EventType enum class. </div><div class="ttdef"><b>Definition:</b> <a href="_event_type_8h_source.html#l00029">EventType.h:29</a></div></div>
<div class="ttc" id="class_scheduler_html"><div class="ttname"><a href="class_scheduler.html">Scheduler</a></div><div class="ttdoc">Scheduler class. </div><div class="ttdef"><b>Definition:</b> <a href="_scheduler_8h_source.html#l00058">Scheduler.h:58</a></div></div>
<div class="ttc" id="class_facility_html_ab95ab1d162a591087d3696b9712f7452"><div class="ttname"><a href="class_facility.html#ab95ab1d162a591087d3696b9712f7452">Facility::dropTokensInService</a></div><div class="ttdeci">unsigned int dropTokensInService()</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00967">Facility.cpp:967</a></div></div>
<div class="ttc" id="class_facility_html_ab1535255c93b31fe4cf63ecfcd48fc52"><div class="ttname"><a href="class_facility.html#ab1535255c93b31fe4cf63ecfcd48fc52">Facility::preemptedTokensCount</a></div><div class="ttdeci">unsigned int preemptedTokensCount</div><div class="ttdoc">Count of effective preemptions. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00056">Facility.h:56</a></div></div>
<div class="ttc" id="class_facility_html_aab753210fbc2026ce45e73ec3c86ed75"><div class="ttname"><a href="class_facility.html#aab753210fbc2026ce45e73ec3c86ed75">Facility::maxRecordedQueueSize</a></div><div class="ttdeci">unsigned int maxRecordedQueueSize</div><div class="ttdoc">Maximum recorded queue size up to this moment. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00051">Facility.h:51</a></div></div>
<div class="ttc" id="class_facility_html_a61f5bb8a3af86066d29dd2eeca3cdd84"><div class="ttname"><a href="class_facility.html#a61f5bb8a3af86066d29dd2eeca3cdd84">Facility::getQueueSize</a></div><div class="ttdeci">std::list&lt; FacilityQueueElement &gt;::size_type getQueueSize() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00723">Facility.cpp:723</a></div></div>
<div class="ttc" id="class_facility_html_ac1724d4f29211f7008a14c767f9dc359"><div class="ttname"><a href="class_facility.html#ac1724d4f29211f7008a14c767f9dc359">Facility::getDroppedTokensCount</a></div><div class="ttdeci">unsigned int getDroppedTokensCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00909">Facility.cpp:909</a></div></div>
<div class="ttc" id="class_facility_html_af8a7f4d06884853b43de507d5dbad7a2"><div class="ttname"><a href="class_facility.html#af8a7f4d06884853b43de507d5dbad7a2">Facility::getNumberOfServers</a></div><div class="ttdeci">unsigned int getNumberOfServers() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00805">Facility.cpp:805</a></div></div>
<div class="ttc" id="class_facility_html_a5967500c415fbf6b3bf420b58e645a6e"><div class="ttname"><a href="class_facility.html#a5967500c415fbf6b3bf420b58e645a6e">Facility::name</a></div><div class="ttdeci">std::string name</div><div class="ttdoc">Facility name. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00046">Facility.h:46</a></div></div>
<div class="ttc" id="class_facility_html_a51a7f1911c56425bd1f341b3c2b005e0"><div class="ttname"><a href="class_facility.html#a51a7f1911c56425bd1f341b3c2b005e0">Facility::isBusy</a></div><div class="ttdeci">bool isBusy() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00626">Facility.cpp:626</a></div></div>
<div class="ttc" id="class_facility_html_ab527ba2778f17a4068266fd8b522ec35"><div class="ttname"><a href="class_facility.html#ab527ba2778f17a4068266fd8b522ec35">Facility::droppedTokensCount</a></div><div class="ttdeci">unsigned int droppedTokensCount</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00062">Facility.h:62</a></div></div>
<div class="ttc" id="class_facility_html_af3c20895dff840f8db94350070360e70"><div class="ttname"><a href="class_facility.html#af3c20895dff840f8db94350070360e70">Facility::release</a></div><div class="ttdeci">FacilityReturnType release(std::shared_ptr&lt; const Token &gt; token)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00586">Facility.cpp:586</a></div></div>
<div class="ttc" id="class_facility_html_a4774c30a592bb2633877067028dc1717"><div class="ttname"><a href="class_facility.html#a4774c30a592bb2633877067028dc1717">Facility::getUtilization</a></div><div class="ttdeci">double getUtilization() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00732">Facility.cpp:732</a></div></div>
<div class="ttc" id="class_facility_html_a4d45a968945045e44ea59be18dff74d1"><div class="ttname"><a href="class_facility.html#a4d45a968945045e44ea59be18dff74d1">Facility::queue</a></div><div class="ttdeci">std::list&lt; FacilityQueueElement &gt; queue</div><div class="ttdoc">Priority queue of tokens in this facility. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00060">Facility.h:60</a></div></div>
<div class="ttc" id="class_facility_html_a04cb8b8f3d633cfcf6ba1603f5dfe7ad"><div class="ttname"><a href="class_facility.html#a04cb8b8f3d633cfcf6ba1603f5dfe7ad">Facility::simulatorGlobals</a></div><div class="ttdeci">SimulatorGlobals &amp; simulatorGlobals</div><div class="ttdoc">Reference to SimulatorGlobals object (typically used to fetch the current clock time). </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00065">Facility.h:65</a></div></div>
<div class="ttc" id="class_facility_html_ae813c0db5554a9827600e10cfc863748"><div class="ttname"><a href="class_facility.html#ae813c0db5554a9827600e10cfc863748">Facility::requestsPreemptsCount</a></div><div class="ttdeci">unsigned int requestsPreemptsCount</div><div class="ttdoc">Count of number of service requests and preemptions made to this facility (regardless of the outcome)...</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00067">Facility.h:67</a></div></div>
<div class="ttc" id="class_facility_html_a9cf2c05d0966a731a8a9d9157a13df5e"><div class="ttname"><a href="class_facility.html#a9cf2c05d0966a731a8a9d9157a13df5e">Facility::setUp</a></div><div class="ttdeci">void setUp()</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00699">Facility.cpp:699</a></div></div>
<div class="ttc" id="class_facility_html_ad175b4a1db5abafd76e28c67d81b99a4"><div class="ttname"><a href="class_facility.html#ad175b4a1db5abafd76e28c67d81b99a4">Facility::dequeuedTokensCount</a></div><div class="ttdeci">unsigned int dequeuedTokensCount</div><div class="ttdoc">Count of dequeues up to this moment. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00053">Facility.h:53</a></div></div>
<div class="ttc" id="class_facility_html_a1c5d07b106f295750da83ef6d31f7c34"><div class="ttname"><a href="class_facility.html#a1c5d07b106f295750da83ef6d31f7c34">Facility::queueSizeLimit</a></div><div class="ttdeci">unsigned int queueSizeLimit</div><div class="ttdoc">The maximum size the queue can reach (default is std::numeric_limits&amp;lt;unsigned int&amp;gt;::max()); if reache...</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00052">Facility.h:52</a></div></div>
<div class="ttc" id="class_facility_html_af7ceb3abf7be8d3712d9bb8f9841067c"><div class="ttname"><a href="class_facility.html#af7ceb3abf7be8d3712d9bb8f9841067c">Facility::nextFreeServer</a></div><div class="ttdeci">std::vector&lt; FacilityServer &gt;::iterator nextFreeServer()</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00648">Facility.cpp:648</a></div></div>
<div class="ttc" id="class_facility_html_a8d3183f02ce17ba8bd1544056a4ba3a9"><div class="ttname"><a href="class_facility.html#a8d3183f02ce17ba8bd1544056a4ba3a9">Facility::getFullyServicedTokensCount</a></div><div class="ttdeci">unsigned int getFullyServicedTokensCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00897">Facility.cpp:897</a></div></div>
<div class="ttc" id="class_facility_html_a36e512ba8667b6a2f62b131c3afca926"><div class="ttname"><a href="class_facility.html#a36e512ba8667b6a2f62b131c3afca926">Facility::getRequestsPreemptsCount</a></div><div class="ttdeci">unsigned int getRequestsPreemptsCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00924">Facility.cpp:924</a></div></div>
<div class="ttc" id="class_entity_html"><div class="ttname"><a href="class_entity.html">Entity</a></div><div class="ttdoc">Entity class. </div><div class="ttdef"><b>Definition:</b> <a href="_entity_8h_source.html#l00029">Entity.h:29</a></div></div>
<div class="ttc" id="class_facility_html_a2ecb5a0b0cc18479325d6c3a963972a2"><div class="ttname"><a href="class_facility.html#a2ecb5a0b0cc18479325d6c3a963972a2">Facility::lastQueueChangeTime</a></div><div class="ttdeci">double lastQueueChangeTime</div><div class="ttdoc">Absolute time of last queue change. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00054">Facility.h:54</a></div></div>
<div class="ttc" id="_simulator_globals_8h_html"><div class="ttname"><a href="_simulator_globals_8h.html">SimulatorGlobals.h</a></div></div>
<div class="ttc" id="class_facility_html_ad78afc03b5985c349e8a25bb3608c232"><div class="ttname"><a href="class_facility.html#ad78afc03b5985c349e8a25bb3608c232">Facility::getName</a></div><div class="ttdeci">std::string getName() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00786">Facility.cpp:786</a></div></div>
<div class="ttc" id="class_facility_html_ad8579e469df0909ad36ee6b0719a2173"><div class="ttname"><a href="class_facility.html#ad8579e469df0909ad36ee6b0719a2173">Facility::request</a></div><div class="ttdeci">FacilityReturnType request(std::shared_ptr&lt; const Token &gt; token, EventType eventType)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00231">Facility.cpp:231</a></div></div>
<div class="ttc" id="_facility_queue_element_8h_html"><div class="ttname"><a href="_facility_queue_element_8h.html">FacilityQueueElement.h</a></div></div>
<div class="ttc" id="class_facility_html_af10ab3d08fb7342ee20f3002a8531717"><div class="ttname"><a href="class_facility.html#af10ab3d08fb7342ee20f3002a8531717">Facility::getDequeuedTokensCount</a></div><div class="ttdeci">unsigned int getDequeuedTokensCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00823">Facility.cpp:823</a></div></div>
<div class="ttc" id="class_facility_html_a31e9fbb87215bd9b292aa263150010d6"><div class="ttname"><a href="class_facility.html#a31e9fbb87215bd9b292aa263150010d6">Facility::initializeMembers</a></div><div class="ttdeci">void initializeMembers()</div><div class="ttdoc">Initialize all facilities&amp;#39; member variables. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00055">Facility.cpp:55</a></div></div>
<div class="ttc" id="class_facility_html_a6ed30291bca3882e011216265f7d7462"><div class="ttname"><a href="class_facility.html#a6ed30291bca3882e011216265f7d7462">Facility::getMaxRecordedQueueSize</a></div><div class="ttdeci">unsigned int getMaxRecordedQueueSize() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00814">Facility.cpp:814</a></div></div>
<div class="ttc" id="class_facility_html"><div class="ttname"><a href="class_facility.html">Facility</a></div><div class="ttdoc">Facility class. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00044">Facility.h:44</a></div></div>
<div class="ttc" id="class_facility_html_a566a2efd483b20277d964b649d82acf8"><div class="ttname"><a href="class_facility.html#a566a2efd483b20277d964b649d82acf8">Facility::getReleasedTokensCount</a></div><div class="ttdeci">unsigned int getReleasedTokensCount() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00883">Facility.cpp:883</a></div></div>
<div class="ttc" id="_scheduler_8h_html"><div class="ttname"><a href="_scheduler_8h.html">Scheduler.h</a></div></div>
<div class="ttc" id="class_facility_html_a5b1017640e4313c95af773cf9d6606dd"><div class="ttname"><a href="class_facility.html#a5b1017640e4313c95af773cf9d6606dd">Facility::getMeanServiceRate</a></div><div class="ttdeci">double getMeanServiceRate() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00692">Facility.cpp:692</a></div></div>
<div class="ttc" id="class_facility_html_a6ef416b0d1a9ce5b719dc6499b16fa4b"><div class="ttname"><a href="class_facility.html#a6ef416b0d1a9ce5b719dc6499b16fa4b">Facility::sumLengthTimeProduct</a></div><div class="ttdeci">double sumLengthTimeProduct</div><div class="ttdoc">+= Current queue size * (currentAbsoluteTime - absolute time of last queue change); used to obtain av...</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00057">Facility.h:57</a></div></div>
<div class="ttc" id="class_facility_html_a0f7671f75b0309c520692c2a210e734e"><div class="ttname"><a href="class_facility.html#a0f7671f75b0309c520692c2a210e734e">Facility::setDown</a></div><div class="ttdeci">unsigned int setDown()</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00711">Facility.cpp:711</a></div></div>
<div class="ttc" id="class_facility_html_ad400821aba2cf4489c9b45534c2a42cd"><div class="ttname"><a href="class_facility.html#ad400821aba2cf4489c9b45534c2a42cd">Facility::setName</a></div><div class="ttdeci">void setName(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00793">Facility.cpp:793</a></div></div>
<div class="ttc" id="class_facility_html_a27cc99dd645a173e1398843273f98bec"><div class="ttname"><a href="class_facility.html#a27cc99dd645a173e1398843273f98bec">Facility::Facility</a></div><div class="ttdeci">Facility(const std::string &amp;name, unsigned int numberOfServers, SimulatorGlobals &amp;simulatorGlobals, Scheduler &amp;scheduler)</div><div class="ttdoc">Constructor with parameters. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00030">Facility.cpp:30</a></div></div>
<div class="ttc" id="class_facility_html_a67cc29408dd53a988dcd7e2db7b7a4e8"><div class="ttname"><a href="class_facility.html#a67cc29408dd53a988dcd7e2db7b7a4e8">Facility::getLastQueueChangeTime</a></div><div class="ttdeci">double getLastQueueChangeTime() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00835">Facility.cpp:835</a></div></div>
<div class="ttc" id="class_facility_html_a0519eef6d28a92c9b7a7d6a3bc9db31a"><div class="ttname"><a href="class_facility.html#a0519eef6d28a92c9b7a7d6a3bc9db31a">Facility::servers</a></div><div class="ttdeci">std::vector&lt; FacilityServer &gt; servers</div><div class="ttdoc">List of servers in this facility. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00059">Facility.h:59</a></div></div>
<div class="ttc" id="class_facility_html_acdb1662a8f2f36e360649a8f760ee096"><div class="ttname"><a href="class_facility.html#acdb1662a8f2f36e360649a8f760ee096">Facility::getMeanBusyPeriod</a></div><div class="ttdeci">double getMeanBusyPeriod() const </div><div class="ttdoc">See Jain, MacDougall. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00749">Facility.cpp:749</a></div></div>
<div class="ttc" id="class_simulator_globals_html"><div class="ttname"><a href="class_simulator_globals.html">SimulatorGlobals</a></div><div class="ttdoc">Simulator-scope variables and parameters. </div><div class="ttdef"><b>Definition:</b> <a href="_simulator_globals_8h_source.html#l00044">SimulatorGlobals.h:44</a></div></div>
<div class="ttc" id="class_facility_html_a9fd474a9e15db535a7a05f5f1a44aba1"><div class="ttname"><a href="class_facility.html#a9fd474a9e15db535a7a05f5f1a44aba1">Facility::getMeanQueueLength</a></div><div class="ttdeci">double getMeanQueueLength() const </div><div class="ttdoc">See Jain, MacDougall. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00775">Facility.cpp:775</a></div></div>
<div class="ttc" id="_facility_return_type_8h_html"><div class="ttname"><a href="_facility_return_type_8h.html">FacilityReturnType.h</a></div></div>
<div class="ttc" id="class_facility_html_a3fbc8bb6b4a1f64d7ac2796df89eb05e"><div class="ttname"><a href="class_facility.html#a3fbc8bb6b4a1f64d7ac2796df89eb05e">Facility::preempt</a></div><div class="ttdeci">FacilityReturnType preempt(std::shared_ptr&lt; const Token &gt; token, EventType eventType)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00294">Facility.cpp:294</a></div></div>
<div class="ttc" id="class_facility_html_ae701c2c3665891baa6929ef67ebd755b"><div class="ttname"><a href="class_facility.html#ae701c2c3665891baa6929ef67ebd755b">Facility::enqueue</a></div><div class="ttdeci">void enqueue(std::shared_ptr&lt; const Token &gt; token, EventType eventType, double serviceTime, bool isPreempted)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00108">Facility.cpp:108</a></div></div>
<div class="ttc" id="class_facility_html_ac92cceb40d15ff27039f16ee83b8431a"><div class="ttname"><a href="class_facility.html#ac92cceb40d15ff27039f16ee83b8431a">Facility::purgeQueue</a></div><div class="ttdeci">unsigned int purgeQueue()</div><div class="ttdoc">Purge queue, return number of dropped elements. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00194">Facility.cpp:194</a></div></div>
<div class="ttc" id="class_facility_html_a36b590795f3752bd89a4a3ec5fa1307d"><div class="ttname"><a href="class_facility.html#a36b590795f3752bd89a4a3ec5fa1307d">Facility::scheduler</a></div><div class="ttdeci">Scheduler &amp; scheduler</div><div class="ttdoc">Reference to Scheduler object, such that dequeued tokens can be rescheduled. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00066">Facility.h:66</a></div></div>
<div class="ttc" id="class_facility_html_a79363e2f35ebed14de6cf7b34bb96ecf"><div class="ttname"><a href="class_facility.html#a79363e2f35ebed14de6cf7b34bb96ecf">Facility::isUp_</a></div><div class="ttdeci">bool isUp_</div><div class="ttdoc">Status of facility: true for up (operational), false for down (non-operational). </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00061">Facility.h:61</a></div></div>
<div class="ttc" id="class_facility_html_a380f50651e6227b6f54ad20a020dba82"><div class="ttname"><a href="class_facility.html#a380f50651e6227b6f54ad20a020dba82">Facility::releasedTokensCount</a></div><div class="ttdeci">unsigned int releasedTokensCount</div><div class="ttdoc">Count of processes which were served (released) by facility. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00058">Facility.h:58</a></div></div>
<div class="ttc" id="class_facility_html_a4d8bbec743dae89da983619eedb2e129"><div class="ttname"><a href="class_facility.html#a4d8bbec743dae89da983619eedb2e129">Facility::setQueueSizeLimit</a></div><div class="ttdeci">void setQueueSizeLimit(unsigned int limit)</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00938">Facility.cpp:938</a></div></div>
<div class="ttc" id="_token_8h_html"><div class="ttname"><a href="_token_8h.html">Token.h</a></div></div>
<div class="ttc" id="class_facility_html_a648c145304ac37af293458ea11f674c3"><div class="ttname"><a href="class_facility.html#a648c145304ac37af293458ea11f674c3">Facility::isUp</a></div><div class="ttdeci">bool isUp() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00683">Facility.cpp:683</a></div></div>
<div class="ttc" id="class_facility_html_ababbaa909332f3c55699721dc087f0c3"><div class="ttname"><a href="class_facility.html#ababbaa909332f3c55699721dc087f0c3">Facility::getQueueSizeLimit</a></div><div class="ttdeci">unsigned int getQueueSizeLimit() const </div><div class="ttdef"><b>Definition:</b> <a href="_facility_8cpp_source.html#l00952">Facility.cpp:952</a></div></div>
<div class="ttc" id="_facility_server_8h_html"><div class="ttname"><a href="_facility_server_8h.html">FacilityServer.h</a></div></div>
<div class="ttc" id="_facility_return_type_8h_html_a4ebe26bb7c3ad3b1926de74522fcc72c"><div class="ttname"><a href="_facility_return_type_8h.html#a4ebe26bb7c3ad3b1926de74522fcc72c">FacilityReturnType</a></div><div class="ttdeci">FacilityReturnType</div><div class="ttdoc">Facility Return Type enum class. </div><div class="ttdef"><b>Definition:</b> <a href="_facility_return_type_8h_source.html#l00028">FacilityReturnType.h:28</a></div></div>
<div class="ttc" id="class_facility_html_ad85ff7fec4ac7166046cd65a80575def"><div class="ttname"><a href="class_facility.html#ad85ff7fec4ac7166046cd65a80575def">Facility::sumBusyTime</a></div><div class="ttdeci">double sumBusyTime</div><div class="ttdoc">Total (relative, elapsed) time this facility was busy. Sum (integral) of busy time of all this facili...</div><div class="ttdef"><b>Definition:</b> <a href="_facility_8h_source.html#l00055">Facility.h:55</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Nov 14 2013 11:18:20 for QCNSim by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
